package com.qf.j2112.mapper;


import com.qf.j2112.po.SysCart;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 购物车管理Mapper接口
 * @author j2112
 * @date 2022-04-12
 */
public interface SysCartMapper {


    /**
     * 查询用户购物车列表
     * @param userId 用户id
     * @return 购物车管理集合
     */
    public List<SysCart> selectSysCartListByUserId(Integer userId);

    /**
     * 查询用户购物车长度
     * @param userId 用户id
     * @return 购物车管理集合
     */
    public int selectSysCartNumByUserId(Integer userId);

    /**
     * 查询用户购物车内是否存在某项商品
     * @param goodsId 用户id
     * @return 购物车
     */
    public SysCart selectSysCartByUserIdAndGoodsId(@Param("userId") Integer userId, @Param("goodsId") Integer goodsId);

    /**
     * 添加到购物车
     * @param sysCart 购物车
     * @return 结果
     */
    public int insertSysCart(SysCart sysCart);

    /**
     * 修改购物车
     * @param sysCart 购物车
     * @return 结果
     */
    public int updateSysCart(SysCart sysCart);

    /**
     * 删除购物车
     * @param cartId 购物车主键
     * @return 结果
     */
    public int deleteSysCartByCartId(Integer cartId);

    /**
     * 订单添加完成后清掉购物车
     * @param userId 购物车管理主键
     * @return int 影响行数
     */
    public int deleteSysCartByUserId(Integer userId);

}
